iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 4
0
Software Development

從零開始的Python練成記系列 第 4

[Day 4]絕對的衝擊點:這真的是運算方式?

  • 分享至 

  • xImage
  •  

寫到這個主題,我就不得不提我所遇到最震撼的一件事情:Python的運算方式,就先回朔到昨天的鐵人挑戰文章內容,我在內容中有提到「Python的參數存放不用宣告存放內容的種類」,可是,就是因為這個點,導致運算的時候會需要更多的設定才能達到自己所想要的架構。
先設定一個情境好了,假若我要做一個簡單的加法運算,就以3+5來做實驗,下面就直接用Java來示範:

public class Addition_one{
	public static void main(String args[]){
		System.out.print(3+5);
}
}

而照著上面的程式碼,輸出的結果便是8,那如果是Python呢?就來實做看看吧:

print(3 + 5)

輸出的結果也會是8,那這時候就不禁會讓人懷疑「為什麼我會需要這樣說明呢?」,這個時候就會需要用另一個情境來做說明了,這個時候就需要用兩個參數各自設定一個值,然後再用另一個參數來存放前面兩個參數值相加之後的結果,那就讓我們來看一下在Java的狀況吧:

public class Addition_two{
	public static void main(String args[]){
		int value_1 = 3;
		int value_2 = 5;
		int result_value = value_1 + value_2;
		System.out.print(result_value);
}
}

此刻,輸出的結果也同樣會是8,那這個時候若直接將寫Java的想法直接平移到Python上面會不會也符合預期呢:

value_1 = 3
value_2 = 5
result_value = value_1 + value_2
print(result_value)

雖然這樣子的輸出結果也一樣符合預期是8,但是這個結果是在Python 3的時候會有這樣的反應,那如果說轉變到Python 2的時候,一切又變得不一樣了:

value_1 = 3
value_2 = 5
result_value = value_1 + value_2
print(result_value)

此刻,他的輸出結果會變成是純粹的將上方程式碼中的value_1value_2的字串進行串接,變成是35,而要達到3+5=8的目的,就必須要像下方的程式碼這樣做:

value_1 = 3
value_2 = 5
result_value = int(value_1) + int(value_2)
print(result_value)

如此一來,結果也就一樣是符合事實也符合預期的8了。


上一篇
[Day 3]另一個不同之處:參數設定
下一篇
[Day 5]用不好就可能讓電腦發爐的功能:迴圈
系列文
從零開始的Python練成記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
julie6625
iT邦新手 5 級 ‧ 2019-09-20 23:06:40

還有這種的喔

我要留言

立即登入留言